package com.csist.bean;

import java.util.List;

/**
 * @ClassName Page
 * @Description TODO
 * @Author User
 * @Date 2021/6/26 17:13
 * @ModifyDate 2021/6/26 17:13
 * @Version 1.0
 */
public class Page<T> {

    /** 当前页码 */
    private int curpage;
    /** 最大页码 */
    private int maxpage;
    /** 每页显示记录数量 */
    private int number;
    /** 总的数量 */
    private int total;
    /** 当前页需要显示的数据集合 */
    private List<T> datalist;

    /**
     *  构造方法用于判断输入的数据是否合理，并计算最大页码
     * @param curpage       当前页码
     * @param number        每页显示记录数量
     * @param total         总的记录数量
     */
    public Page(int curpage, int number, int total) {

        this.curpage = curpage<1?1:curpage;
        this.number = number<1?1:number;
        this.total = total<0?0:total;

        // 计算最大页码
        this.maxpage =
                this.total%this.number==0?this.total/this.number:(this.total/this.number+1);
        // 判断当前页码不能超过最大页码
        if(this.curpage>this.maxpage)
            this.curpage = this.maxpage;

    }

    @Override
    public String toString() {
        return "PageBean [curpage=" + curpage + ", maxpage=" + maxpage + ", number=" + number + ", total=" + total
                + ", datelist=" + datalist + "]";
    }

    public List<T> getDatelist() {
        return datalist;
    }

    public void setDatalist(List<T> datelist) {
        this.datalist = datelist;
    }

    public long getCurpage() {
        return curpage;
    }

    public long getMaxpage() {
        return maxpage;
    }

    public int getNumber() {
        return number;
    }

    public long getTotal() {
        return total;
    }
}
